#include<iostream>
#include<vector>
#include<list>
#include<queue>
#include<stack>
#include<algorithm>
using namespace std;
/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode() : val(0), next(nullptr) {}
 *     ListNode(int x) : val(x), next(nullptr) {}
 *     ListNode(int x, ListNode *next) : val(x), next(next) {}
 * };
 */
//class Solution {
//public:
//    bool isPalindrome(ListNode* head) {
//        vector<int> v;
//        while (head)
//        {
//            v.push_back(head->val);
//            head = head->next;
//        }
//        int left = 0, right = v.size() - 1;
//        while (left <= right)
//        {
//            if (v[left] != v[right])
//            {
//                return false;
//            }
//            left++, right--;
//        }
//        return true;
//    }
//};